home *** CD-ROM | disk | FTP | other *** search
- //Language: Fortran
- //Copyright (c) 1992-2002 Altium Limited
- //All rights reserved.
- //http://www.dream-com.com
- //contact@dream-com.com
-
- // states
- State=snormal
- State=sstring1
- State=sstring2
- State=scomment1
- State=scomment2
- State=sdirective
- // tokens
- Token=tnone
- Token=tstring
- Token=tcomment
- Token=tident
- Token=tinteger
- Token=tfloat
- Token=tresword
- Token=tassembler
- Token=turl
- Token=twhitespace
- Token=tdirective
- //delims
- Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/
-
- // reswords
- // statements
- snormal 'ALIAS' snormal tresword
- snormal 'ALLOCATE' snormal tresword
- snormal 'ASSIGN' snormal tresword
- snormal 'AUTOMATIC' snormal tresword
- snormal 'BACKSPACE' snormal tresword
- snormal 'BLOCK' snormal tresword
- snormal 'BYTE' snormal tresword
- // snormal 'C' snormal tresword
- snormal 'CALL' snormal tresword
- snormal 'CASE' snormal tresword
- snormal 'CHARACTER' snormal tresword
- snormal 'CLOSE' snormal tresword
- snormal 'COMMON' snormal tresword
- snormal 'COMPLEX' snormal tresword
- snormal 'CONTINUE' snormal tresword
- snormal 'CYCLE' snormal tresword
- snormal 'DATA' snormal tresword
- snormal 'DEALLOCATE' snormal tresword
- snormal 'DIMENSION' snormal tresword
- snormal 'DO' snormal tresword
- snormal 'DOUBLE' snormal tresword
- snormal 'ELSE' snormal tresword
- snormal 'END' snormal tresword
- snormal 'ENDFILE' snormal tresword
- snormal 'ENTRY' snormal tresword
- snormal 'EQUIVALENCE' snormal tresword
- snormal 'EXIT' snormal tresword
- snormal 'EXTERNAL' snormal tresword
- snormal 'FORMAT' snormal tresword
- snormal 'FUNCTION' snormal tresword
- snormal 'GOTO' snormal tresword
- snormal 'IF' snormal tresword
- snormal 'IMPLICIT' snormal tresword
- snormal 'INCLUDE' snormal tresword
- snormal 'INQUIRE' snormal tresword
- snormal 'INTEGER' snormal tresword
- snormal 'INTRINSIC' snormal tresword
- snormal 'LOCKING' snormal tresword
- snormal 'LOGICAL' snormal tresword
- snormal 'MAP' snormal tresword
- snormal 'NAMELIST' snormal tresword
- snormal 'OPEN' snormal tresword
- snormal 'PARAMETER' snormal tresword
- snormal 'PAUSE' snormal tresword
- snormal 'PRECISION' snormal tresword
- snormal 'PRINT' snormal tresword
- snormal 'PROGRAM' snormal tresword
- snormal 'READ' snormal tresword
- snormal 'REAL' snormal tresword
- snormal 'RECORD' snormal tresword
- snormal 'REFERENCE' snormal tresword
- snormal 'RETURN' snormal tresword
- snormal 'REWIND' snormal tresword
- snormal 'SAVE' snormal tresword
- snormal 'SELECT' snormal tresword
- snormal 'STDCALL' snormal tresword
- snormal 'STOP' snormal tresword
- snormal 'STRUCTURE' snormal tresword
- snormal 'SUBROUTINE' snormal tresword
- snormal 'TO' snormal tresword
- snormal 'UNION' snormal tresword
- snormal 'VALUE' snormal tresword
- snormal 'VARYING' snormal tresword
- snormal 'WHILE' snormal tresword
- snormal 'WRITE' snormal tresword
- //directives
- snormal 'ALIAS' snormal tresword
- snormal 'ATTRIBUTES' snormal tresword
- snormal 'DECLARE' snormal tresword
- snormal 'DEFINE' snormal tresword
- snormal 'DEFINED' snormal tresword
- snormal 'ELSE' snormal tresword
- snormal 'ELSEIF' snormal tresword
- snormal 'ENDIF' snormal tresword
- snormal 'FIXEDFORMLINESIZE' snormal tresword
- snormal 'FREEFORM' snormal tresword
- snormal 'IDENT' snormal tresword
- snormal 'IF' snormal tresword
- snormal 'INTEGER' snormal tresword
- snormal 'MESSAGE' snormal tresword
- snormal 'NODECLARE' snormal tresword
- snormal 'NOFREEFORM' snormal tresword
- snormal 'NOSTRICT' snormal tresword
- snormal 'OBJCOMMENT' snormal tresword
- snormal 'OPTIONS' snormal tresword
- snormal 'PACK' snormal tresword
- snormal 'PSECT' snormal tresword
- snormal 'REAL' snormal tresword
- snormal 'STRICT' snormal tresword
- snormal 'SUBTITLE' snormal tresword
- snormal 'TITLE' snormal tresword
- snormal 'UNDEFINE' snormal tresword
- //logical
- snormal \.AND\. snormal tresword
- snormal \.EQ\. snormal tresword
- snormal \.EQV\. snormal tresword
- snormal \.FALSE\. snormal tresword
- snormal \.GT\. snormal tresword
- snormal \.LT\. snormal tresword
- snormal \.NEQV\. snormal tresword
- snormal \.NOT\. snormal tresword
- snormal \.OR\. snormal tresword
- snormal \.TRUE\. snormal tresword
- snormal \.XOR\. snormal tresword
- // numbers
- snormal [1-9][0-9]* snormal tinteger
- snormal \#[0-9A_F]+ snormal tinteger
- snormal [1-9][0-9]*\.[0-9]* snormal tfloat
- snormal [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ snormal tfloat
-
- //idents
-
- snormal [a-z_A-Z][a-z_A-Z0-9]* snormal tident
-
- //comments
- snormal \! scomment1 tcomment
- scomment1 [#1-#255]* snormal tcomment
- scomment1 $ snormal tcomment
-
- snormal c[^a-z_A-Z0-9] scomment2 tcomment
- scomment2 [#1-#255]* snormal tcomment
- scomment2 $ snormal tcomment
-
-
- //white space
- //snormal #32* snormal twhitespace
-
- //strings
- snormal \" sstring1 tstring
- sstring1 [^\"]* sstring1 tstring
- sstring1 \" snormal tstring
- sstring1 \"\" sstring1 tstring
- sstring1 $ snormal tstring
- //
- snormal \' sstring2 tstring
- sstring2 [^\']* sstring2 tstring
- sstring2 \' snormal tstring
- sstring2 \'\' sstring2 tstring
- sstring2 $ snormal tstring
-
- //directives
-
- snormal \$ sdirective tdirective
- sdirective [#1-#255]* snormal tdirective
- sdirective $ snormal tdirective
-